import fs from 'fs'

export class LocalStorage {

    PATH: string
    DEFAULT: any

    constructor(PATH: string, VERSION: string) {
        this.PATH = PATH
        this.DEFAULT = {
            autoFullScreen: true, // 是否自动全屏
            borderRadius: false, // 窗口圆角边
            alwaysOnTop: true, // 是否总是置顶
            alwaysOnTopLevel: 'floating', // 置顶等级
            opacity: 1, // 视频透明度
            menus: [], // 菜单
            theme: 'image', // 主题
            position: 'right', // 初始位置
            home: 'https://www.bing.com', // 首页地址
            verticalWebsiteHost: 'www.douyin.com', // 竖屏网站域名
            version: VERSION, // 版本号
            source: 'https://finch.js.cool/expand/ads.html', // 广告源
            sourceType: 1, // 广告源类型
            read: false, // 是否已读
            notices: [], // 公告
            extensionPath: '', // 扩展程序路径
            wechat: {
                avatar: '', // 头像
            }
        }
    }

    read(): any {
        try {
            if (fs.existsSync(this.PATH)) {
                const data = fs.readFileSync(this.PATH, 'utf8')
                return JSON.parse(data)
            }
            return null
        } catch (error) {
            console.error('读取配置失败:', error)
            return null
        }
    }

    write(config: any): void {
        try {
            fs.writeFileSync(this.PATH, JSON.stringify(config, null, 2), 'utf8')
        } catch (error) {
            console.error('写入配置失败:', error)
        }
    }
}